// 对axios进行封装
import axios from 'axios'
import JSONbig from 'json-bigint'
// 1. 设置基地址。
// 在真实接口地址中，域名部分一般就是固定的: http://ttapi.research.itcast.cn
// 可以把在固定这部分设为基地址：好处在于，后面再发ajax时，就可以省略这一段

axios.defaults.baseURL = 'http://ttapi.research.itcast.cn'

axios.interceptors.request.use(function (config) {
  // config： 表示当前请求的配置
  // 如果当前有token保存在localstorage，则把token添加到header中
  const token = localStorage.getItem('token')

  if (token) {
    config.headers.Authorization = `Bearer ${token}`
  }
  // Do something before request is sent
  return config
}, function (error) {
  // Do something with request error
  return Promise.reject(error)
})
axios.defaults.transformResponse = [function (data) {
  try {
    // 尝试转换，如果是json字符串，就没有回题。
    return JSONbig.parse(data)
  } catch (err) {
    console.log(err)
    return data
  }
}]
export default axios
